const Utils = require('./Utils.js')

Utils.init()

var flag, count, gosts, storage
gosts = [
  [780, 160, 100, 90],
  [780, 275, 100, 90],
  [780, 390, 100, 90],
] // 3个鬼王坐标范围
flag = true
count = 0
storage = storages.create('yys')
// while (flag) {
//   Utils.sleeps()
//   log('第 ' + ++count + ' 次')
//   if (Utils.findPictureTap('地域鬼王')) {
//     log('地域鬼王 - 成功')
//     challengeTheRegionalGhostKing()
//     flag = false
//   } else {  
//     if (Utils.findPictureTap ('现世妖约')) {
//       log('现世妖约 - 成功')
//     } else { 
//       if (Utils.findPictureTap('妖怪之里')) {
//         log('主界面 - 成功')
//       }
//     }
//   }
// }
challengeTheRegionalGhostKing()
/**
 * @description 挑战地域鬼王
 */
function challengeTheRegionalGhostKing() {
  const num = storage.get('num')  // 要挑战的鬼王数量
  let times = 0 // 已挑战的鬼王数量
  while (times < num) {
    Utils.sleeps()
    let gw = gosts[times]
    if (Utils.findPictureTap('选择挑战', gw)) {
      log('选择挑战 - 成功')
      Utils.sleeps()
      // if (Utils.findPicture('减')) {
      //   // // 鬼王等级从1开始时
      //   // if (times === 0) {
      //   //   let ghostKingLevel = storage.get('level') // 鬼王等级
      //   //   if (ghostKingLevel > 1 && ghostKingLevel <= 60) {
      //   //     for (let i = 0; i < ghostKingLevel - 1; i++) {
      //   //       sleep(random(100, 300))
      //   //       Utils.findPictureTap('加')
      //   //       log('鬼王等级：' + (2 + i))
      //   //     }
      //   //   } else if (ghostKingLevel > 60) {
      //   //     for (let i = 1; i < 60; i++) {
      //   //       sleep(random(100, 300))
      //   //       Utils.findPictureTap('加')
      //   //       log('鬼王等级：' + (1 + i))
      //   //     }
      //   //   }
      //   // }
      //   // // 鬼王等级从40开始时
      //   // if (times === 0) {
      //   //   let ghostKingLevel = storage.get('level') // 鬼王等级
      //   //   if (ghostKingLevel > 0 && ghostKingLevel < 40) {
      //   //     for (let count = 1; count <= 40 - ghostKingLevel; count++) {
      //   //       sleep(random(100, 300))
      //   //       Utils.findPictureTap('减')
      //   //       log('鬼王等级：' + (40 - count))
      //   //     }
      //   //   } else if (ghostKingLevel > 40 && ghostKingLevel <= 60) {
      //   //     for (let count = 1; count <= ghostKingLevel - 40; count++) {
      //   //       sleep(random(100, 300))
      //   //       Utils.findPictureTap('加')
      //   //       log('鬼王等级：' + (40 + count))
      //   //     }
      //   //   } else if (ghostKingLevel > 60) {
      //   //     for (let count = 0; count < 20; count++) {
      //   //       sleep(random(100, 300))
      //   //       Utils.findPictureTap('加')
      //   //       log('鬼王等级：' + (40 + count))
      //   //     }
      //   //   }
      //   // }
      // }
      let i = 1
      do {
        log("鬼王详情界面第 " + i + " 次")
        if (Utils.findPictureTap('挑战')) {
          log('点击挑战 - 成功')
          Utils.waitTime(7)
          let flagTemp = true
          while (flagTemp) {
            if (Utils.findPictureTap('准备')) {
              log('点击准备 - 成功')
              flagTemp = false
            }
          }
          let seconds = random(40, 60)
          Utils.waitTime(seconds)
          let flagTempTwo = true
          while (flagTempTwo) {
            log('已等待：' + (seconds += 2) + '秒')
            if (Utils.findPictureTap('奖励')) {
              Utils.sleeps()
              Utils.findPictureTap('奖励')
              log('奖励界面 - 成功')
              times++
              log('鬼王' + times + '：成功')
              flagTempTwo = false
            } else if (Utils.findPictureTap('胜利')) {
              log('胜利界面 - 成功')
            } else if (Utils.findPicture('失败')) {
              log('击杀鬼王 - 失败')
              Utils.stopJB()
            }
          }
          Utils.waitTime(8)
          Utils.findPictureTap('叉号', 0.8)
          i = 4
        }
        i++
        Utils.sleeps()
      } while (i < 5)
    } else if (Utils.findPictureTap('筛选', 0.8)) {
      log('筛选 - 成功')
    }
  }
  let counts = 0
  while (times == num) {
    sleep(1000)
    if (Utils.findPictureTap('返回二')) {
      log('返回二 - 成功')
      counts++
      if (counts === 2) times++
    }
    else if (Utils.findPictureTap('返回一')) {
      log('返回一 - 成功')
      times++
    }
  }
}